var HAVE_NETWORKMANAGER = @HAVE_NETWORKMANAGER@;
/* 1 if soup2 should be used instead of soup3, 0 otherwise */
var HAVE_SOUP2 = @HAVE_SOUP2@;
+/* 1 if recorder is enabled, 0 otherwise */
+var HAVE_RECORDER = @HAVE_RECORDER@;
/* gettext package */
var GETTEXT_PACKAGE = '@GETTEXT_PACKAGE@';
/* locale dir */
jsconf.set10('HAVE_BLUETOOTH', bt_dep.found())
jsconf.set10('HAVE_NETWORKMANAGER', have_networkmanager)
jsconf.set10('HAVE_SOUP2', have_soup2)
+jsconf.set10('HAVE_RECORDER', enable_recorder)
jsconf.set('datadir', datadir)
jsconf.set('libexecdir', libexecdir)
const { Clutter, Cogl, Gio, GObject, GLib, Graphene, Gtk, Meta, Shell, St } = imports.gi;
+const Config = imports.misc.config;
const GrabHelper = imports.ui.grabHelper;
const Layout = imports.ui.layout;
const Lightbox = imports.ui.lightbox;
this._castButton = new St.Button({
style_class: 'screenshot-ui-shot-cast-button',
toggle_mode: true,
+ visible: Config.HAVE_RECORDER,
});
this._castButton.set_child(new St.Icon({ icon_name: 'camera-web-symbolic' }));
this._castButton.connect('notify::checked',
if (this._screencastInProgress)
return;
+ if (mode === UIMode.SCREENCAST && !Config.HAVE_RECORDER)
+ return;
+
this._castButton.checked = mode === UIMode.SCREENCAST;
if (!this.visible) {